package com.ssd.job;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * XXL-JOB配置类，用于存储XXL-JOB相关的信息和配置
 */
@Data
@ConfigurationProperties(prefix = "xxl-job")
@Configuration
public class XxlJobProperties {

    /**
     * 访问令牌，用于安全验证
     */
    private String accessToken;

    /**
     * 管理员相关配置
     */
    private Admin admin;

    /**
     * 执行器相关配置
     */
    private Executor executor;

    /**
     * 管理员配置类
     */
    @Data
    public static class Admin {
        /**
         * 管理员地址，用于连接管理后台
         */
        private String address;
    }

    /**
     * 执行器配置类
     */
    @Data
    public static class Executor {
        /**
         * 执行器应用名称，用于标识执行器
         */
        private String appName;

        /**
         * 执行器IP地址，用于网络通信
         */
        private String ip;

        /**
         * 执行器端口号，用于网络通信
         */
        private Integer port;

        /**
         * 执行器日志路径，用于存储日志文件
         */
        private String logPath;

        /**
         * 日志保留天数，用于日志清理
         */
        private Integer logRetentionDays;
    }
}
